package com.ruoyi.apartments.domain;

import java.math.BigDecimal;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 公寓房源信息对象 mf_apartments
 * 
 * @author ruoyi
 * @date 2025-07-21
 */
@Data
public class MfApartments extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房源唯一ID */
    private Long apartmentId;

    /** 房源标题（如：朝阳区精品LOFT） */
    @Excel(name = "房源标题", readConverterExp = "如=：朝阳区精品LOFT")
    private Long province;

    /** 所在城市（如：北京） */
    @Excel(name = "所在城市", readConverterExp = "如=：北京")
    private Long city;

    /** 所在区县（如：朝阳区） */
    @Excel(name = "所在区县", readConverterExp = "如=：朝阳区")
    private Long area;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 月租金（单位：元） */
    @Excel(name = "月租金", readConverterExp = "单=位：元")
    private BigDecimal rent;

    /** 面积（单位：平方米） */
    @Excel(name = "面积", readConverterExp = "单=位：平方米")
    private BigDecimal acreage;

    /** 户型类型 */
    @Excel(name = "户型类型")
    private Long roomType;

    /** 设施配置（可多选） */
    @Excel(name = "设施配置", readConverterExp = "可=多选")
    private Long facilities;

    /** 是否允许养宠物 */
    @Excel(name = "是否允许养宠物")
    private Integer petFriendly;

    /** VR看房链接地址 */
    @Excel(name = "VR看房链接地址")
    private String vrTourUrl;

    /** 当前状态 */
    @Excel(name = "当前状态")
    private String status;

    @Excel(name = "房东ID")
    private Integer landlordId;

//    @TableField(exist = false)
//    private List<MfApartmentsImage> itemImage;

    public void setApartmentId(Long apartmentId) 
    {
        this.apartmentId = apartmentId;
    }

    public Long getApartmentId() 
    {
        return apartmentId;
    }

    public void setProvince(Long province) 
    {
        this.province = province;
    }

    public Long getProvince() 
    {
        return province;
    }

    public void setCity(Long city) 
    {
        this.city = city;
    }

    public Long getCity() 
    {
        return city;
    }

    public void setArea(Long area) 
    {
        this.area = area;
    }

    public Long getArea() 
    {
        return area;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setRent(BigDecimal rent) 
    {
        this.rent = rent;
    }

    public BigDecimal getRent() 
    {
        return rent;
    }

    public void setAcreage(BigDecimal acreage) 
    {
        this.acreage = acreage;
    }

    public BigDecimal getAcreage() 
    {
        return acreage;
    }

    public void setRoomType(Long roomType) 
    {
        this.roomType = roomType;
    }

    public Long getRoomType() 
    {
        return roomType;
    }

    public void setFacilities(Long facilities) 
    {
        this.facilities = facilities;
    }

    public Long getFacilities() 
    {
        return facilities;
    }

    public void setPetFriendly(Integer petFriendly) 
    {
        this.petFriendly = petFriendly;
    }

    public Integer getPetFriendly() 
    {
        return petFriendly;
    }

    public void setVrTourUrl(String vrTourUrl) 
    {
        this.vrTourUrl = vrTourUrl;
    }

    public String getVrTourUrl() 
    {
        return vrTourUrl;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("apartmentId", getApartmentId())
            .append("province", getProvince())
            .append("city", getCity())
            .append("area", getArea())
            .append("address", getAddress())
            .append("rent", getRent())
            .append("acreage", getAcreage())
            .append("roomType", getRoomType())
            .append("facilities", getFacilities())
            .append("petFriendly", getPetFriendly())
            .append("vrTourUrl", getVrTourUrl())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .toString();
    }
}
